Computer software is becoming more and more accessible to receiving inputs from many different input methods such as through speech recognition, handwriting recognition, and East Asian input method editors, just to name a few. However, these stochastic input methods sometimes are less than reliable. For example, if speech recognition software is unaware of the particular type of input required in a particular field, then it may be difficult for it to understand what the user is trying to say. For example, it may be difficult to enter a phone number due to the speech recognition software being unaware of the particular type of input required.
Solutions have been developed that constrain input so that authors of text entry controls may set a property on a field so that an input method editor will recognize the bit and adjust the language model that the input method editor uses. Constraining input of a field, constraining input of part or all of a document, etc. may be referred to as mode bias. However, there are some drawbacks to these solutions. These solutions are limited to a fixed list of categories that may be indicated by the bit. Thus, there is an inflexible hard-coded list of ways to constrain input. A developer must select from the fixed list of categories and is not allowed to define new mode bias settings that may be useful.
Another problem with the current solution of using a fixed list of categories is that the response to these categories is not consistent between different input methods. A user expects different input methods to react similarly for the same input field. However, prior art solutions allow input methods to define their own response to particular categories of text entry controls. For example, a speech recognizer and a handwriting recognizer may handle a phone number entirely differently.
Thus, there is a need for a method for providing mode bias that is flexible in allowing developers to define what forms of input are acceptable for a particular field. There is still a further need for a method for providing mode bias that is consistent across different input methods.